Data storage systems are arrangements of hardware and software that typically include multiple storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives. The storage processors service storage requests that arrive from host machines. The received requests specify storage data objects that are to be written, read, created, or deleted. The storage processors run software that manages incoming storage requests and performs various data processing tasks to organize and secure the host data stored on the non-volatile storage devices.
In order to provide efficiency and reduce costs, some data storage systems have applied lossless data compression to the host data that they store. In general, data compression may advantageously allow a data storage system to use a smaller amount of storage resources (e.g. storage devices) to provide a given level of data storage services than would otherwise be possible without data compression.
The level of compression provided by a compression algorithm is sometimes referred to as the data compression ratio for that algorithm. Compression ratio is typically defined as the ratio between the size of the uncompressed data and the size of compressed data.